/** @type {import('knex').Knex} */
exports.up = function(knex) {
  return knex.schema.createTable('n1790_rack_info', table => {
    table.increments('_id').unsigned().primary().comment('机柜ID，主键，自动递增');
    table.string('机柜名称', 50).nullable().comment('机柜名称');
    table.string('机柜编号', 50).nullable().comment('机柜编号');
    table.integer('机柜容量').defaultTo(42).comment('机柜可容纳设备数量，默认42U');
    table.decimal('位置X', 10, 2).nullable().comment('机柜X轴位置坐标');
    table.decimal('位置Y', 10, 2).nullable().comment('机柜Y轴位置坐标'); 
    table.decimal('位置Z', 10, 2).nullable().comment('机柜Z轴位置坐标');
    table.string('所在区域', 50).nullable().comment('机柜所在区域');
    table.string('所在机房', 50).nullable().comment('机柜所在机房');
    table.text('备注').nullable().comment('备注信息');
    table.integer('是否禁用').defaultTo(0).comment('是否禁用');
    table.integer('是否删除').defaultTo(0).comment('是否被删除');
    table.timestamp('_create').defaultTo(knex.fn.now()).notNullable().comment('记录创建时间');
    table.timestamp('_update')
      .defaultTo(knex.raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))
      .notNullable()
      .comment('记录更新时间');
  });
};

exports.down = function(knex) {
  return knex.schema.dropTable('n1790_rack_info');
}; 